package com.heima.article.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.model.article.dtos.ArticleDto;
import com.heima.model.article.dtos.ArticleHomeDto;
import com.heima.model.article.dtos.ArticleInfoDto;
import com.heima.model.article.pojos.ApArticle;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.mess.ArticleVisitStreamMess;
import com.heima.model.wemedia.dtos.WmCommentListDto;
import com.heima.model.wemedia.dtos.WmStatistics3Dto;
import com.heima.model.wemedia.pojos.WmNewsStatistics;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

public interface ApArticleService extends IService<ApArticle> {

    /**
     * 加载文章列表
     * @param dto
     * @param type  1 加载更多   2 加载最新
     * @return
     */
    public ResponseResult loadArticleList(ArticleHomeDto dto, Short type);

    /**
     * 加载文章列表
     * @param dto
     * @param type  1 加载更多   2 加载最新
     * @param firstPage  true 是首页  false 非首页
     * @return
     */
    public ResponseResult loadArticleListV2(ArticleHomeDto dto, Short type,boolean firstPage);


    /**
     * 保存app端相关文章
     * @param articleDto
     * @return
     */
    public ResponseResult saveAppArticle(ArticleDto articleDto);

    /**
     * 加载文章详情 数据回显
     * @param dto
     * @return
     */
    public ResponseResult loadArticleBehavior(ArticleInfoDto dto);

    /**
     * 更新文章行为数值和文章的分值
     * @param mess
     */
    public void updateScore(ArticleVisitStreamMess mess);


    void updaeComment(String mess);


    public ResponseResult commentList(WmCommentListDto dto);

    Integer findCount(WmStatistics3Dto wmStatistics3Dto);

    /**
     * 查询指定时间范围的文章
     * @param wmStatistics3Dto
     * @return
     */
    List<WmNewsStatistics> findByPublishTime(WmStatistics3Dto wmStatistics3Dto);
}
